/*
 * @Author: AI Generated
 * @Date: 2024-05-16
 * @Description: 留言模块请求DTO
 */
import { IsNotEmpty, IsNumber, IsOptional, IsString, Length, Matches } from 'class-validator';
import { DataBaseDto } from 'src/common/dto/data-base.dto';
import { PaginationDto } from 'src/common/dto/pagination.dto';

/* 分页查询 */
export class GetSysFeedbackListDto extends PaginationDto {
    /* 姓名 */
    @IsOptional()
    @IsString()
    name: string;

    /* 手机号 */
    @IsOptional()
    @IsString()
    phoneNumber: string;

    /* 状态 */
    @IsOptional()
    @IsString()
    status: string;
}

/* 新增留言 */
export class AddSysFeedbackDto extends DataBaseDto {
    /* 姓名 */
    @IsNotEmpty({ message: '姓名不能为空' })
    @IsString()
    @Length(2, 50, { message: '姓名长度必须在2-50个字符之间' })
    name: string;

    /* 手机号 */
    @IsNotEmpty({ message: '手机号不能为空' })
    @IsString()
    @Matches(/^1[3-9]\d{9}$/, { message: '手机号格式不正确' })
    phoneNumber: string;

    /* 留言内容 */
    @IsNotEmpty({ message: '留言内容不能为空' })
    @IsString()
    content: string;
}

/* 更新备注 */
export class UpdateSysFeedbackRemarkDto {
    /* 留言ID */
    @IsNumber()
    feedbackId: number;

    /* 备注 */
    @IsString()
    remark: string;
}